Modern electronic devices may include a number of functional modules, each of which performs the same or a different function. Often, these modules need to communicate with one another in order to accomplish a larger task. Communications busses are widely used for accomplishing this task. Various standard communications busses currently exist, including inter-integrated circuit (I2C), RS-232, UNI/O, and the like.
Communication bus systems are used to communicate data between components within an electronic device, such as a computer, a radio frequency (RF) front-end (RFFE) module, a cellular telephone, a tablet, a camera, and/or the like. A communication bus system generally includes at least one master controller and one or more slave devices. The master controller(s) and the slave device(s) are connected by a communication bus comprising bus lines, and the master controller coordinates the transfer of data along the bus lines. The slave devices perform commands (e.g., read and write commands) as coordinated by the master controller. If more than one master controller is provided, a bus arbitration scheme is generally implemented to negotiate between the various master controllers. The bus lines that connect the master controller(s) to the slave device(s) typically include one or more data, power, and clock bus lines. Generally, the size of the digital bus interface increases as more bus lines are provided in the digital bus interface. The increase is due to the number of wires which must be routed between the bus controllers and the number of pins for the bus controllers that must be dedicated to the bus lines. In modern communication systems, the area available for pins and wires is minimal.
Messages from the master controller are broadcast on the communications bus and received by all of the slave devices. Each message includes a unique slave identifier (USID) field, which indicates which slave device a message is intended for. Each slave device is associated with a USID, which is hard-coded in memory on the slave device during manufacture. Only the slave device with a USID matching the one in the USID field of a message will respond to the message. Accordingly, communications bus systems typically require every slave device to have a different USID so that the slave devices are uniquely addressable by the master controller.
In RFFE-based communications bus systems such as Mobile Industry Processor Interface (MiPi) radio frequency front end (RFFE) communications bus systems, each communications bus (referred to as an RFFE bus) can address a maximum of 15 different slave devices (24 or 16 total devices with one master controller). This limitation is based upon a 4-bit USID field within each command sequence used to identify for which slave device the command sequence is intended. This limitation has become a problem in modern wireless communications devices for which the number of RFFE devices has grown.
Today's wireless communications devices typically have many different RFFE busses to expand the number of devices that can be controlled by RFFE within the system. Each additional RFFE bus requires three pins and three wires from the digital section of the phone. The extreme routing and pin density of the system creates a problem.
One method of reducing the problem is to use a single wire communications bus system, such as the single wire micro bus (SuBUS) system by Qorvo, Inc. of Greensboro, N.C. Recently, single wire communications busses have become popularized due to the convenience afforded by reducing routing requirements and possible interference between communication lines. These single wire communications bus systems allow communication with a single wire as opposed to three wires, but the number of required USIDs is not reduced for the same reasons discussed above with respect to MiPi RFFE communications bus systems.
Thus, there is a need to reduce the number of USIDs that are used, but still be able to address a large number of slave devices.